package com.czmini.cztest.service;

import com.czmini.cztest.dto.PageTableRequest;
import com.czmini.cztest.dto.PageTableResponse;
import com.czmini.cztest.dto.ResultDto;
import com.czmini.cztest.dto.TokenDto;
import com.czmini.cztest.dto.jenkins.RequestInfoDto;
import com.czmini.cztest.dto.task.QueryZcTestTaskListDto;
import com.czmini.cztest.dto.task.TestTaskDto;
import com.czmini.cztest.dto.testcase.QueryTestCaseListDto;
import com.czmini.cztest.entity.ZcTestCase;
import com.czmini.cztest.entity.ZcTestTask;

import java.io.IOException;

public interface ZcTestTaskService {

    //新增测试任务
    ResultDto<ZcTestTask> save(TestTaskDto testTaskDto,Integer taskType);

    //更新
    ResultDto<ZcTestTask> update(ZcTestTask zcTestTask);

    //根据id查询
    ResultDto<ZcTestTask> getById(Integer taskId,Integer createUserId);


    ResultDto<ZcTestTask> delete(Integer taskId,Integer createUserId);


    ResultDto<PageTableResponse<ZcTestTask>> list(PageTableRequest<QueryZcTestTaskListDto> pageTableRequest);

    // 更新测试任务状态
    ResultDto<ZcTestTask> updateTaskStatus(ZcTestTask zcTestTask);


    //开始任务
    ResultDto startTask(TokenDto tokenDto, ZcTestTask zcTestTask, RequestInfoDto requestInfoDto) throws IOException;


}
